﻿@{
    Layout = "_LayoutH";
    @model Wms_delivery
}
@section styles{
    <link rel="stylesheet" href="~/css/bootstrap-select.min.css" />
}
<div id="app" v-cloak>
    <form class="form-horizontal" onsubmit="return false">
        <div class="box-body">
            <div class="form-group">
                <label class="col-sm-2 control-label">快递单号</label>
                <div class="col-sm-10">
                    <input class="form-control" v-model="TrackingNo" v-focus type="text">
                </div>
            </div>
            <div class="form-group">
                <label class="col-sm-2 control-label">发货时间</label>
                <div class="col-sm-10">
                    <input class="form-control" id="DeliveryDate" v-model="DeliveryDate" type="text">
                </div>
            </div>
            <div class="form-group">
                <label class="form-label col-sm-2">承运商 </label>
                <div class="col-sm-10">
                    <select size="1" v-model="CarrierId" class="show-menu-arrow show-tick selectpicker form-control" data-live-search="true"></select>
                </div>
            </div>
            <div class="form-group">
                <label class="col-sm-2 control-label">备注</label>
                <div class="col-sm-10">
                    <textarea v-model="Remark" class="form-control" rows="3" placeholder="备注...100个字符以内"></textarea>
                    <p class="textarea-numberbar"><em class="textarea-length">{{count}}</em>/100</p>
                </div>
            </div>
        </div>
        <div class="box-footer">
            <div class="pull-right box-tools">
                <input v-on:click="addL" class="btn btn-primary radius" type="submit" v-model="submit">
            </div>
        </div>
    </form>
</div>

@section scripts{
    <script src="~/js/bootstrap-select.min.js"></script>
    <script src="~/js/defaults-zh_CN.min.js"></script>
    <script>
        $(function () {
            $('.selectpicker').on('show.bs.select', function (e, clickedIndex, isSelected, previousValue) {
                var divdom = $("div[class='bs-searchbox']")[0].childNodes[0];
                $(divdom).on("input propertychange", function () {
                    var dom = $("li[class='no-results']");
                    var text = divdom.value;
                    if (dom.length > 0) {
                            yui.$axiosget('/Carrier/Search?text=' + text).then(function (res) {
                                var data = res.data.rows;
                                var html = "<option value=''>请选择</option>";
                                for (var item in data) {
                                    html += "<option value='" + _self.CarrierList[item].CarrierId + "' " + "data-subtext='" + _self.CarrierList[item].CarrierNo + "'>" + _self.CarrierList[item].CarrierName + "</option>"
                                }
                                $(".selectpicker").empty();
                                $(".selectpicker").append(html)
                                $('.selectpicker').selectpicker('refresh');
                            }).catch(function (res) {
                            });
                    } else {
                        yui.$axiosget('/Carrier/Search?text=' + text).then(function (res) {
                            var data = res.data.rows;
                            var html = "<option value=''>请选择</option>";
                            for (var item in data) {
                                html += "<option value='" + _self.CarrierList[item].CarrierId + "' " + "data-subtext='" + _self.CarrierList[item].CarrierNo + "'>" + _self.CarrierList[item].CarrierName + "</option>"
                            }
                            $(".selectpicker").empty();
                            $(".selectpicker").append(html)
                            $('.selectpicker').selectpicker('refresh');
                        }).catch(function (res) {
                        });
                    }
                });
            });
        });

        var app = new Vue({
            el: "#app",
            data: {
                submit: "添加",
                DeliveryDate: "@Model.DeliveryDate",
                DeliveryId:"@Model.DeliveryId",
                StockOutId:"@Model.StockOutId",
                Remark: "@Model.Remark",
                CarrierId: "@Model.CarrierId",
                TrackingNo: "@Model.TrackingNo",
                CarrierList:[]
            },
            computed: {
                count: function () {
                    return this.strLength(this.Remark, false);
                }
            },
            mounted: function(){
                var _self = this;
                _self.$nextTick(function () {
                    $(".selectpicker").selectpicker({
                        noneSelectedText: '请选择',
                    });
                    _self.DeliveryDate = yui.getNow();
                    $('#DeliveryDate').datetimepicker({
                        format: 'yyyy-mm-dd',
                        minView: 2,
                        autoclose: true,
                        language: "zh-CN"
                    }).on('changeDate', function (ev) {
                        _self.DeliveryDate = $.trim($('#DeliveryDate').val());
                     });
                    yui.$axiosget('/Carrier/Search').then(function (res) {
                        _self.CarrierList = res.data.rows;
                        var html = "<option value=''>请选择</option>";
                        for (var item in _self.CarrierList) {
                            html += "<option value='" + _self.CarrierList[item].CarrierId + "' " + "data-subtext='" + _self.CarrierList[item].CarrierNo + "'>" + _self.CarrierList[item].CarrierName + "</option>"
                        }
                        $(".selectpicker").append(html)
                        $('.selectpicker').selectpicker('refresh');
                        $('.selectpicker').selectpicker('val', _self.CarrierId);
                    }).catch(function (res) {
                    });
                });
            },
            methods: {
                addL: function () {
                   var _self = this;
                    if (_self.TrackingNo.length <= 0) {
                        layer.msg("快递单号不能为空", { icon: 2 });
                        return false;
                    }
                    if (_self.CarrierId.length <= 0) {
                        layer.msg("请选择承运商", { icon: 2 });
                        return false;
                    }
                    var index = layer.load(1, {
                        shade: [0.1, '#fff'] //0.1透明度的白色背景
                    });
                    var data = {
                        id: _self.DeliveryId,
                        StockOutId: _self.StockOutId,
                        CarrierId: _self.CarrierId,
                        TrackingNo: _self.TrackingNo,
                        DeliveryDate: _self.DeliveryDate,
                        Remark: _self.Remark
                    };
                    yui.$axiospostform('/Delivery/AddOrUpdate', data)
                        .then(function (response) {
                            if (response.data.Item1 === 101) {
                                layer.tips(response.data.Item2, '.layui-layer-setwin', {
                                    tips: [1, '#3595CC'],
                                    time: 3000
                                });
                                layer.close(index);
                                return false;
                            }
                            if (response.data.Item1) {
                                layer.msg(response.data.Item2, { icon: 1, time: 1000 });
                                setTimeout(function () {
                                    yui.layer_close3();
                                }, 500);
                            } else {
                                layer.msg(response.data.Item2 || errorMsg, { icon: 5 });
                            }
                            layer.close(index);
                        })
                        .catch(function (error) {
                            layer.close(index);
                        });
                }
            }
        });
    </script>
}